#ifndef __LINK_STACK_H__
#define __LINK_STACK_H__

#include <stdio.h>
#include <stdlib.h>

// 链表节点结构体
typedef struct _Node{
	int data;
	struct _Node *next;
}node_t;

// 链式栈的结构体
typedef struct _Stack{
	node_t *top;    // 栈顶指针
	int count;      // 记录栈中已有的元素个数
    // 如果需要其他属性 也可以在此处罗列
}stack_t;

int create_stack(stack_t **p);
int clean_stack(stack_t *my_stack);
int destroy_stack(stack_t **my_stack);
int push_stack(stack_t *my_stack, int num);
int pop_stack(stack_t *my_stack, int *buff);
int is_empty(stack_t *my_stack);
int print_stack(stack_t *my_stack);

#endif